Herebelow, numerals presented in square brackets—[ ]—are keyed to the list of references found towards the close of the present disclosure.
Relational databases are widely used today as a mechanism for providing access to structured data. However, there are a number of limitations presented by such databases that make them unsuitable for typical information-finding tasks of end-users.
First, SQL queries to these databases need to follow the schema of the tables. This means that the end-user needs to be aware of the schema and the layout of data across different tables. Even if there are good user interfaces that shield some of these details from the end-user, there may be a mismatch between the user's intended query and the database's schema. For example, assume that there is a database containing information about disaster aid workers located in different parts of the United States. A user may have a query about which aid workers are located in the Gulf Coast region of the United States; however the database tables may only have information about which towns and states aid workers are located in. Thus, although the database may contain the desired information, the user cannot get an answer to his query since the database does not know which towns and states are located in the Gulf Coast. Thus, the user is forced to re-frame his query based on the actual schema and contents of the database.
It is recognized that, in order to overcome the semantic gap between a user's query and the database's schema, a more flexible query mechanism is needed that returns all semantically relevant results present in the database. This may require the use of additional domain knowledge that would help bridge the gap between the query and the schema. Thus, in the above example, if the database had domain knowledge about which towns were located in the different regions of the US, then it could answer the user's query.
There are a number of potential sources of additional domain knowledge. For instance, this knowledge may be available in other specialized databases (e.g., GIS databases may contain location information about geographical features). With the recent growth of the Semantic Web [1], an increasing amount of knowledge in different domains is being expressed in ontologies. Accordingly, a need has been recognized in connection with exploiting this knowledge in ontologies to help databases answer semantic queries. In this vein, ontologies have the advantage of being based on a formal logic and thus support reasoning being done on them. They also tend to be more re-usable and sharable across different applications.
The Semantic Web envisions a world where loosely coupled, independently evolving ontologies provide a common understanding of terms between heterogeneous agents, systems, and organizations. In the past few years, different ontologies have been developed in various domains to capture relevant knowledge, e.g. the DOLCE upper ontology for Linguistic and Cognitive Engineering [2], the GALEN medical ontology [3], the National Cancer Institute Ontology [4], etc. These ontologies typically represent knowledge in description logics and are written in standard Semantic Web languages like OWL [5].
In view of the foregoing, a general need has been recognized in connection with optimally exploiting data and domain knowledge in a manner to impart even greater efficiency and functionality to complex information-finding tasks.